package com.siruier.boss.ui.interceptor

import com.didi.drouter.annotation.Interceptor
import com.didi.drouter.router.IRouterInterceptor
import com.didi.drouter.router.Request
import com.siruier.boss.router.NEED_LOGIN
import com.siruier.boss.router.ROUTER_LOGIN
import com.siruier.boss.router.startRouterResult
import com.siruier.boss.ui.cache.UserCache
import com.siruier.boss.ui.ext.toastMessageLong
import com.siruier.boss.ui.utils.Logger

//@Interceptor(
//    //可选，可以使用名字替代类耦合的方式来引用到
//    name = "loginInterceptor",
//    //可选，优先级，值越大优先级越高
//    priority = 1,
//    //可选，是否是全局拦截器
//    global = true
//)
class LoginInterceptor : IRouterInterceptor {

    override fun handle(request: Request) {
        if (request.uri.pathSegments.contains(NEED_LOGIN) && !UserCache.isLogin) {
            "请先登录...".toastMessageLong()
            request.context.startRouterResult(ROUTER_LOGIN) { _, _ ->
                request.interceptor.onContinue()
            }
        } else {
            request.interceptor.onContinue()
        }
        Logger.e("LoginInterceptor")
    }
}